export interface DeviceTypeItem {
  children?: DeviceTypeItem[];
  createdBy: string;
  createdOn: string;
  descriptions: string;
  displayOrder: number;
  echoMap: {};
  defaultEquipmentTypeName: string;
  defaultEquipmentTypeCode: string;
  defaultEquipmentTypeId: string;
  equipmentCategoryId: string;
  equipmentTypeCode: string;
  equipmentTypeId: string;
  equipmentTypeLevel: number;
  equipmentTypeLogo: string;
  equipmentTypeName: string;
  equipmentTypePhoto: string;
  defaultEquipmentTypePhoto: string;
  isActive: boolean;
  isDeleted: boolean;
  parentEquipmentTypeId: string;
  parentEquipmentTypeIds: string;
  remark: string;
  tenantId: string;
  updatedBy: string;
  updatedOn: string;
}
export type ParDeviceTypeItem = Partial<DeviceTypeItem>;
export interface TenantSearchModel {
  searchText?: string;
  equipmentBrandGroupsId?: string;
}

export interface ApiItem {
  addEquipmentTypes: string;
  deleteEquipmentTypeByIds: string;
  getEquipmentTypeTreeVoByName: string;
  updateEquipmentTypes: string;
}

export interface DeviceTypeAiotItem {
  descriptions?: string;
  equipmentTypeCode: string;
  equipmentTypeInnerId?: number;
  equipmentTypeName: string;
  equipmentTypeId?: string;
  equipmentTypePhoto?: string;
  remark?: string;
  isActive?: boolean;
  rootId?: number;
  subId1?: number;
  subId2?: number;
  subId3?: number;
  typeLevel?: number;
}

type ObjectInter<T extends object, U extends object> = Pick<
  U,
  Extract<keyof T, keyof U> // name,address
>;
